#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <iostream>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    manager = new Graph::GraphManager(ui->widget_2, ui->listWidget, this);
    reader = new Graph::CSVReader(manager, this);

    /* Установка текущего окна */
    ui->stackedWidget->setCurrentIndex(0);

    createToolButtons();

    connect(reader, SIGNAL(CurrentElementCount(int)), ui->progressBar, SLOT(setValue(int)));

    QSharedPointer<QCPAxisTickerDateTime> dateTicker(new QCPAxisTickerDateTime());
    dateTicker->setDateTimeSpec(Qt::UTC);
    dateTicker->setDateTimeFormat("hh:mm:ss.zzz");
    ui->widget_2->xAxis->setTicker(dateTicker);
}

MainWindow::~MainWindow()
{
    delete ui;
    delete manager;
}

void MainWindow::on_action_triggered()
{
    QString fileName = QFileDialog::getOpenFileName(this,
                                QString::fromUtf8("Открыть файл"),
                                QDir::currentPath(),
                                "Все поддерживаемые форматы (*.csv *.xlsx);;CSV (*.csv);;Книга Excel (*.xlsx);;Все файлы (*.*)");
    if (fileName == "")
        return;

    ui->stackedWidget->setCurrentIndex(1);
    reader->ReadNewFile(fileName);
    ui->stackedWidget->setCurrentIndex(0);
}

void MainWindow::createToolButtons()
{
    alignToolButton = new CustomToolButton(this);
    alignToolButton->addAction(ui->action_12);
    alignToolButton->addAction(ui->action_6);
    alignToolButton->addAction(ui->action_13);
    alignToolButton->ToolTip = "Вид масштабирования";
    alignToolButton->ChangeDefaultAction(ui->action_12);

    ui->mainToolBar->addWidget(alignToolButton);
}
